﻿using System.Reflection;


string currentDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Console.WriteLine($"当前目录: {currentDir}");
string ilmergePath = $@"{currentDir}\ILMerge\ILMerge.exe";
Console.WriteLine($"ILMerge路径: {ilmergePath}");

 string parentDir = Directory.GetParent(currentDir)?.FullName;
 Console.WriteLine($"上一级目录: {parentDir}");

 // 输出 DLL 路径（args[0] 是输出名称，如 "MewTool_Test"）
string outputDllPath = $@"{parentDir}\{args[0]}.dll";
Console.WriteLine($"输出DLL路径: {outputDllPath}");
    
// 动态获取所有要合并的 DLL（跳过 args[0]，从 args[1] 开始）
string[] dllsToMerge = args
                       .Skip(1)                          // 跳过第一个参数（输出名称）
                       .Select(dll => Path.Combine(parentDir, dll))  // 拼接完整路径
                       .ToArray();
Console.WriteLine("待合并的DLL列表:");
foreach (string dll in dllsToMerge)
{
    Console.WriteLine($"- {dll}");
}

// 调用合并方法
var result = ILMergeHelper.MergeDll(ilmergePath, outputDllPath, dllsToMerge);
    
// 输出详细结果
Console.WriteLine($"成功: {result.Success}");
Console.WriteLine($"消息: {result.Message}");
Console.WriteLine($"输出: {result.Output}");
Console.WriteLine($"错误: {result.Error}");

